<?php

namespace app\admin\controller\task;

use app\common\controller\Backend;

/**
 * 订单管理
 *
 * @icon fa fa-circle-o
 */
class CancleOrder extends Backend
{

    /**
     * Order模型对象
     * @var \app\admin\model\shop\Order
     */
    protected $model = null;


    /**
     * 快速搜索时执行查找的字段
     */
    protected $searchFields = 'order_id';

    public function _initialize()
    {
        parent::_initialize();
        $this->model = new \app\admin\model\shop\Order;
        $this->view->assign("orderStateList", $this->model->getOrderStateList());
        $this->view->assign("flagList", $this->model->getFlagList());
        $this->view->assign("roomList", $this->model->getRoomList());
        $this->view->assign("authorStatusList", $this->model->getAuthorStatusList());
    }

    /**
     * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
     * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
     * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
     */
    /**
     * 查看
     */
    public function index()
    {
        if ($this->request->isAjax()) {
            //如果发送的来源是Selectpage，则转发到Selectpage
            if ($this->request->request('keyField')) {

                return $this->selectpage();
            }
            list($where, $sort, $order, $offset, $limit) = $this->buildparams();

            $join[]    = ["user u", "u.uid = o.uid"];
            $join[]    = ["shop_task t", "t.task_id = o.task_id"];
            $join[]    = ['shop s', 's.shop_id = t.shop_id'];
            $join[]    = ['admin a', 'a.id = s.shop_admin_id'];
            $join[]    = ['admin n','o.author = n.id'];
            $field     = "o.order_sno,o.order_id,o.real_money,t.task_sno,t.task_type,s.shop_name,t.beat_price as insert_price,t.service_change_price as deal_price,s.gold_bean as commission,u.username,o.status,o.create_time,o.author_status,o.order_state,u.uid,o.flag,o.flag_remarks,a.username as shop_username,n.username as nusername";
            $condition = [
                'o.order_state' => "1"
            ];
            if(session('admin')['athur_id']==1){
                $condition["t.shop_admin_id"] = session('admin')['athor'];
            }else{
                $condition["t.shop_admin_id"] = session('admin')['id'];
            }
            $total = $this->model->alias("o")->join($join)->field($field)->where($condition)->where($where)->count();
            $list  = $this->model->alias("o")->join($join)->field($field)->where($condition)->where($where)->limit($offset, $limit)->order("o.create_time desc")->select();
            foreach ($list as &$value) {
                $value['u.uid']      = $value['uid'];
                $value['u.username'] = $value['username'];
                $value['s.shop_name'] = $value['shop_name'];

            }
            $result = array("total" => $total, "rows" => $list);
            return json($result);
        }
        return $this->view->fetch();
    }

}
